package com.zhongwang.business.module.system.org;

import com.zhongwang.business.gen.entity.Org;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;



/**
 * 
 *
 * @author China.sgl
 * @date 2019/12/6 08:42
 */
@Service
@SuppressWarnings("all")
public class OrgService {

    @Autowired
    private OrgMapper orgMapper;



    /**
     * 按条件查询所有部门
     *
     * @param org 条件
     * @return List
     */
    public List<Org> findOrgByCondition(Org org) {
        return orgMapper.findByCondition(org);
    }

    /**
     * 修改部门
     *
     * @param Org 部门信息
     * @return 影响行数
     */
    public Org updateOrg(Org org) {
//        org.setStatus(STATUS_NORMAL);
//        return orgRepository.saveAndFlush(org);
        return  null;
    }

    /**
     * 按部门名称查询部门
     *
     * @param name 部门名称
     * @return 部门信息
     */
    public Org findOrgByName(String name) {
        return orgMapper.findByName(name);
    }

    /**
     * 保存部门信息
     *
     * @param org 部门信息
     * @return 影响行数
     */
    public Org saveOrg(Org org) {
//        org.setStatus(STATUS_NORMAL);
//        return orgRepository.save(org);
        return null;
    }

    /**
     * 查询用户所在部门
     *
     * @param id 用户 id
     * @return List
     */
    public List<Org> findOrgCheckedByUserId(Integer id) {
        List<Org> all = orgMapper.findByCondition(new Org());
        Org org = orgMapper.findByUserId(id);
        if (null != org) {
            for (Org o : all) {
                if (o.getId().equals(org.getId())) {
                    o.setCheckFlag(true);
                    break;
                }
            }
        }
        return all;
    }

    /**
     * 删除部门
     *
     * @param id 部门
     * @return 影响行数
     */
    public int delOrg(Integer id) {

//        return orgMapper.updateStatusByIdWithRecursion(id, Constant.STATUS_DELETE);
        return 0;
    }

}
